export default {
  // Common text
  common: {
    confirm: 'Confirm',
    cancel: 'Cancel',
    save: 'Save',
    delete: 'Delete',
    edit: 'Edit',
    add: 'Add',
    search: 'Search',
    loading: 'Loading...',
    success: 'Success',
    error: 'Error',
    warning: 'Warning',
    info: 'Info',
    close: 'Close',
    back: 'Back',
    next: 'Next',
    previous: 'Previous',
    submit: 'Submit',
    reset: 'Reset',
    clear: 'Clear',
    refresh: 'Refresh',
    copy: 'Copy',
    paste: 'Paste',
    cut: 'Cut',
    selectAll: 'Select All',
    yes: 'Yes',
    no: 'No',
    ok: 'OK',
    apply: 'Apply',
    import: 'Import',
    export: 'Export',
    upload: 'Upload',
    download: 'Download',
    preview: 'Preview',
    print: 'Print',
    share: 'Share',
    help: 'Help',
    about: 'About',
    version: 'Version',
    update: 'Update',
    settings: 'Settings',
    preferences: 'Preferences',
    language: 'Language',
    theme: 'Theme',
    darkMode: 'Dark Mode',
    lightMode: 'Light Mode',
    auto: 'Auto',
    cancelled: 'Cancelled'
  },

  // Navigation menu
  nav: {
    home: 'Home',
    chat: 'Chat',
    settings: 'Settings',
    about: 'About',
    login: 'Login',
    logout: 'Logout'
  },

  // Sidebar
  sidebar: {
    contacts: 'Contacts',
    favorites: 'Favorites',
    files: 'File Transfer',
    moments: 'Moments',
    miniPrograms: 'Mini Programs'
  },

  // Route titles
  routes: {
    home: 'Home',
    chat: 'Chat',
    settings: 'Settings',
    login: 'Login',
    logout: 'Re-login',
    formGlobalTest: 'Form Component Test',
    noPower: '401',
    notFound: '404'
  },

  // Settings page
  settings: {
    title: 'Settings',
    selectCategory: 'Please select a settings category from the left',

    // Settings menu
    menu: {
      model: 'Model Service',
      general: 'General Settings',
      appearance: 'Appearance Settings',
      shortcuts: 'Shortcuts',
      data: 'Data Settings',
      about: 'About Us'
    },

    // Model service settings
    model: {
      title: 'Model Service Configuration',
      description: 'Configure AI model service parameters',
      apiKey: 'API Key',
      apiKeyPlaceholder: 'Please enter your API key',
      baseUrl: 'Base URL',
      baseUrlPlaceholder: 'Please enter API base URL',
      model: 'Model',
      modelPlaceholder: 'Please select or enter model name',
      temperature: 'Temperature',
      temperatureDescription: 'Controls randomness of responses, higher values are more random',
      maxTokens: 'Max Tokens',
      maxTokensDescription: 'Maximum number of tokens per conversation',
      timeout: 'Timeout',
      timeoutDescription: 'Request timeout (seconds)',
      testConnection: 'Test Connection',
      connectionSuccess: 'Connection successful',
      connectionFailed: 'Connection failed',
      saveSuccess: 'Save successful',
      saveFailed: 'Save failed'
    },

    // General settings
    general: {
      title: 'General Settings',
      description: 'Basic configuration options for the application',
      language: 'Interface Language',
      languageDescription: 'Select the language for the application interface',
      autoStart: 'Auto Start',
      autoStartDescription: 'Automatically start the application when system boots',
      startToTray: 'Start to Tray',
      startToTrayDescription: 'Start to system tray when starting',
      closeToTray: 'Close to Tray',
      closeToTrayDescription: 'Minimize to tray instead of exiting when clicking close button',
      autoUpdate: 'Auto Update',
      autoUpdateDescription: 'Automatically check and download application updates',
      notifications: 'Notifications',
      notificationsDescription: 'Allow the application to send system notifications',
      soundEffects: 'Sound Effects',
      soundEffectsDescription: 'Enable interface sound effects',
      traySettings: 'Tray Settings',
      showTrayIcon: 'Show Tray Icon',
      showTrayIconDescription: 'Display icon in system tray',
      performanceSettings: 'Performance Settings',
      memoryLimit: 'Memory Usage Limit (MB)',
      hardwareAcceleration: 'Hardware Acceleration',
      hardwareAccelerationDescription: 'Use GPU acceleration for rendering'
    },

    // Appearance settings
    appearance: {
      title: 'Appearance Settings',
      description: 'Customize the appearance and theme of the application',
      theme: 'Theme Mode',
      themeDescription: 'Select the theme mode for the application',
      themeLight: 'Light Theme',
      themeDark: 'Dark Theme',
      themeAuto: 'Follow System',
      accentColor: 'Accent Color',
      accentColorDescription: 'Select the accent color for the application',
      fontSize: 'Font Size',
      fontSizeDescription: 'Adjust interface text size',
      fontSizeSmall: 'Small',
      fontSizeMedium: 'Medium',
      fontSizeLarge: 'Large',
      fontFamily: 'Font Family',
      fontFamilyDescription: 'Select interface font',
      windowOpacity: 'Window Opacity',
      windowOpacityDescription: 'Adjust window transparency',
      animations: 'Animations',
      animationsDescription: 'Enable interface animation effects',
      compactMode: 'Compact Mode',
      compactModeDescription: 'Use a more compact interface layout',
      resetConfirm: 'Are you sure you want to reset all settings?',
      resetSuccess: 'Settings have been reset'
    },

    // Shortcuts settings
    shortcuts: {
      title: 'Shortcuts Settings',
      description: 'Customize keyboard shortcuts to improve efficiency',
      global: 'Global Shortcuts',
      app: 'Application Shortcuts',
      custom: 'Custom Shortcuts',
      settings: 'Shortcut Settings',
      enableGlobal: 'Enable Global Shortcuts',
      enableGlobalDescription: 'Use shortcuts in other applications',
      showHints: 'Show Shortcut Hints',
      showHintsDescription: 'Display shortcuts on menus and buttons',
      conflictDetection: 'Shortcut Conflict Detection',
      conflictDetectionDescription: 'Automatically detect and warn about shortcut conflicts',
      actionName: 'Action Name',
      actionNamePlaceholder: 'Enter action name',
      shortcut: 'Shortcut',
      shortcutPlaceholder: 'Click to record shortcut',
      command: 'Command',
      commandPlaceholder: 'Select command',
      addShortcut: 'Add Shortcut',
      editShortcut: 'Edit',
      deleteShortcut: 'Delete',
      customShortcuts: 'Added Custom Shortcuts',
      actions: {
        showHide: 'Show/Hide Window',
        showHideDescription: 'Quickly show or hide application window',
        newChat: 'New Chat',
        newChatDescription: 'Create new chat session',
        search: 'Global Search',
        searchDescription: 'Search content in application',
        settings: 'Open Settings',
        settingsDescription: 'Quickly open settings page',
        toggleSidebar: 'Toggle Sidebar',
        toggleSidebarDescription: 'Show or hide sidebar'
      },
      categories: {
        general: 'General Operations',
        chat: 'Chat Functions',
        navigation: 'Navigation',
        editing: 'Editing',
        view: 'View'
      },
      commands: {
        newChat: 'New Chat',
        toggleSidebar: 'Toggle Sidebar',
        search: 'Search',
        settings: 'Open Settings'
      }
    },

    // Data settings
    data: {
      title: 'Data Settings',
      description: 'Manage application data and privacy settings',
      storage: 'Storage Management',
      storageDescription: 'View and manage application data storage',
      chatHistory: 'Chat History',
      chatHistoryDescription: 'Manage chat history records',
      clearChatHistory: 'Clear Chat History',
      clearChatHistoryConfirm: 'Are you sure you want to clear all chat history? This action cannot be undone.',
      exportData: 'Export Data',
      exportDataDescription: 'Export application data to file',
      importData: 'Import Data',
      importDataDescription: 'Import application data from file',
      dataLocation: 'Data Location',
      dataLocationDescription: 'Application data storage location',
      openDataFolder: 'Open Data Folder',
      privacy: 'Privacy Settings',
      privacyDescription: 'Control data collection and usage',
      analytics: 'Usage Analytics',
      analyticsDescription: 'Allow collection of anonymous usage statistics',
      crashReports: 'Crash Reports',
      crashReportsDescription: 'Automatically send crash reports to help improve the application',
      clearCache: 'Clear Cache',
      clearCacheDescription: 'Clear application cache files',
      cacheSize: 'Cache Size',
      lastBackup: 'Last Backup',
      autoBackup: 'Auto Backup',
      autoBackupDescription: 'Automatically backup application data periodically'
    },

    // About page
    about: {
      title: 'About Us',
      description: 'Application information and development team',
      appName: 'JoyThink AI',
      version: 'Version',
      buildDate: 'Build Date',
      developer: 'Developer',
      website: 'Official Website',
      support: 'Technical Support',
      license: 'License',
      openSource: 'Open Source License',
      thirdParty: 'Third Party Components',
      changelog: 'Changelog',
      checkUpdate: 'Check for Updates',
      updateAvailable: 'New version available',
      updateNotAvailable: 'You are using the latest version',
      downloading: 'Downloading update...',
      installUpdate: 'Install Update',
      releaseNotes: 'Release Notes',
      contact: 'Contact Us',
      feedback: 'Feedback',
      reportBug: 'Report Bug',
      featureRequest: 'Feature Request',
      documentation: 'Documentation',
      community: 'Community',
      donate: 'Support Us',
      acknowledgments: 'Acknowledgments',
      specialThanks: 'Special Thanks'
    }
  },

  // Chat page
  chat: {
    title: 'Chat',
    placeholder: 'Enter your message...',
    send: 'Send',
    newChat: 'New Chat',
    clearChat: 'Clear Chat',
    exportChat: 'Export Chat',
    thinking: 'Thinking...',
    typing: 'Typing...',
    error: 'Send failed',
    retry: 'Retry',
    copy: 'Copy',
    regenerate: 'Regenerate',
    stop: 'Stop Generation',
    chatHistory: 'Chat History',
    noHistory: 'No chat history',
    deleteChat: 'Delete Chat',
    deleteChatConfirm: 'Are you sure you want to delete this chat?',
    renameChat: 'Rename Chat',
    chatName: 'Chat Name',
    today: 'Today',
    yesterday: 'Yesterday',
    lastWeek: 'Last Week',
    lastMonth: 'Last Month',
    older: 'Older'
  },

  // Login page
  login: {
    title: 'Login',
    welcome: 'Welcome to JoyThink AI',
    username: 'Username',
    password: 'Password',
    rememberMe: 'Remember Me',
    forgotPassword: 'Forgot Password?',
    login: 'Login',
    register: 'Register',
    loginSuccess: 'Login successful',
    loginFailed: 'Login failed',
    invalidCredentials: 'Invalid username or password',
    networkError: 'Network connection error',
    serverError: 'Server error',
    logout: 'Logout',
    logoutConfirm: 'Are you sure you want to logout?',
    sessionExpired: 'Session expired, please login again'
  },

  // Error pages
  error: {
    404: {
      title: 'Page Not Found',
      description: 'Sorry, the page you are looking for does not exist',
      backHome: 'Back to Home'
    },
    401: {
      title: 'Unauthorized Access',
      description: 'You do not have permission to access this page',
      backHome: 'Back to Home',
      login: 'Go to Login'
    },
    500: {
      title: 'Server Error',
      description: 'The server encountered some problems',
      retry: 'Retry',
      backHome: 'Back to Home'
    },
    network: {
      title: 'Network Connection Error',
      description: 'Please check your network connection',
      retry: 'Retry'
    }
  },

  // Window controls
  window: {
    minimize: 'Minimize',
    maximize: 'Maximize',
    restore: 'Restore',
    close: 'Close',
    alwaysOnTop: 'Always on Top',
    fullscreen: 'Fullscreen',
    exitFullscreen: 'Exit Fullscreen',
    pin: 'Pin to Top',
    unpin: 'Unpin'
  },

  // Form validation
  validation: {
    required: 'This field is required',
    email: 'Please enter a valid email address',
    minLength: 'Minimum {min} characters required',
    maxLength: 'Maximum {max} characters allowed',
    pattern: 'Invalid format',
    numeric: 'Please enter a number',
    url: 'Please enter a valid URL',
    phone: 'Please enter a valid phone number',
    password: 'Password strength is insufficient',
    confirmPassword: 'Passwords do not match'
  },

  // Time format
  time: {
    now: 'Just now',
    minutesAgo: '{minutes} minutes ago',
    hoursAgo: '{hours} hours ago',
    daysAgo: '{days} days ago',
    weeksAgo: '{weeks} weeks ago',
    monthsAgo: '{months} months ago',
    yearsAgo: '{years} years ago',
    today: 'Today',
    yesterday: 'Yesterday',
    tomorrow: 'Tomorrow'
  },

  // File operations
  file: {
    upload: 'Upload File',
    download: 'Download File',
    delete: 'Delete File',
    rename: 'Rename',
    copy: 'Copy File',
    move: 'Move File',
    size: 'File Size',
    type: 'File Type',
    modified: 'Modified Time',
    created: 'Created Time',
    selectFile: 'Select File',
    dragDrop: 'Drag and drop files here',
    uploadSuccess: 'Upload successful',
    uploadFailed: 'Upload failed',
    downloadSuccess: 'Download successful',
    downloadFailed: 'Download failed',
    fileTooLarge: 'File too large',
    fileTypeNotSupported: 'File type not supported',
    noFileSelected: 'No file selected'
  },

  // User related
  user: {
    admin: 'Admin',
    userId: 'User ID',
    loginButton: 'Login',
    loggingIn: 'Logging in...',
    userCard: 'User Card'
  },

  // Theme related
  theme: {
    preview: 'Theme Preview',
    colorPicker: 'Theme Color Picker',
    buttons: 'Button Styles',
    primaryButton: 'Primary Button',
    secondaryButton: 'Secondary Button',
    borderButton: 'Border Button',
    inputs: 'Input Styles',
    normalInput: 'Normal Input',
    focusedInput: 'Focused State',
    interactive: 'Interactive Elements',
    switch: 'Switch',
    checkbox: 'Checkbox',
    links: 'Link Styles',
    primaryLink: 'Primary Link',
    secondaryLink: 'Secondary Link',
    statusColors: 'Status Colors',
    successStatus: 'Success Status',
    warningStatus: 'Warning Status',
    errorStatus: 'Error Status',
    infoStatus: 'Info Status',
    colors: {
      blue: 'Blue',
      green: 'Green',
      purple: 'Purple',
      pink: 'Pink',
      orange: 'Orange',
      red: 'Red',
      cyan: 'Cyan',
      indigo: 'Indigo',
      emerald: 'Emerald',
      rose: 'Rose'
    }
  },

  // AI Assistant
  aiAssistant: {
    title: 'AI Assistant',
    openTooltip: 'Open AI Assistant',
    closeTooltip: 'Close AI Assistant',
    welcome: 'Hello! I am your AI assistant. How can I help you?',
    thinking: 'AI is thinking...',
    inputPlaceholder: 'Type your question...',
    sendButton: 'Send',
    keyboardHint: 'Press Enter to send, Ctrl+Enter for new line',
    errorResponse: 'Sorry, I cannot answer your question right now. Please try again later.',
    responses: {
      analysis: 'This is a great question! Let me analyze it for you...',
      suggestions: 'Based on your description, I suggest you try the following methods:',
      information: 'I understand your needs. Here is some relevant information that might help:',
      solutions: 'Let me provide you with some suggestions and solutions:',
      considerations: 'Based on your question, I think we can consider it from the following perspectives:'
    }
  },

  // Form components
  form: {
    required: 'Required',
    optional: 'Optional',
    placeholder: 'Please enter',
    validation: {
      required: 'This field is required',
      email: 'Please enter a valid email address',
      minLength: 'Minimum {min} characters required',
      maxLength: 'Maximum {max} characters allowed',
      pattern: 'Invalid format'
    },
    buttons: {
      primary: 'Primary Button',
      secondary: 'Secondary Button',
      danger: 'Danger Button',
      ghost: 'Ghost Button',
      outline: 'Outline Button'
    }
  },

  // Confirm dialog
  confirm: {
    title: 'Confirm Action',
    message: 'Are you sure you want to perform this action?',
    confirmButton: 'Confirm',
    cancelButton: 'Cancel',
    deleteTitle: 'Confirm Delete',
    deleteMessage: 'This action cannot be undone. Are you sure you want to delete?',
    saveTitle: 'Save Changes',
    saveMessage: 'Do you want to save the current changes?'
  }
};
